Historically, networks include computers and network devices, such as switches and routers, that facilitate the flow of data from one computer and/or device to another. Typically, a client computer (or client) makes a request for data from a remote server computer (or server). The request travels over the network and through intermediate devices, such as routers and switches, to a particular server which is capable of responding to the request. The server then provides the requested data, which travels over the network back to the client.
One way for the client to send such a request to the server is for the client to establish a pathway between the client and the server. One example of such a pathway is a TCP (Transmission Control Protocol) connection, which is a bi-directional, full-duplex pathway. This connection requires several transmissions to establish and synchronize a connection between the client and the server. Then the client makes the request for data, such as a content request based on HTTP (Hypertext Transport Protocol), which the client transmits over the already established TCP network connection to the server.
At one time, the HTTP protocol required that the client and server establish a new TCP connection for each request from the client. The HTTP version 1.1 protocol (and the HTTP version 1.0 protocol with “keep-alive” functionality) allows the client to make more than one request over the same TCP connection to the same server. Typically, a network switch allows more than one request (e.g., a GET request based on HTTP 1.1) to be made to the same server over an established TCP connection routed through the switch.